package com.sg.service.biz.calc.impl;

import com.sg.common.util.RedisUtil;
import com.sg.dto.biz.calc.req.ImplementCalcReceiveFieldComReqDto;
import com.sg.dto.biz.calc.req.ImplementCalcReceiveFieldReqDto;
import com.sg.dto.biz.calc.res.ImplementCalcReceiveFieldComRespDto;
import com.sg.dto.biz.calc.res.ImplementCalcReceiveFieldRespDto;
import org.apache.skywalking.apm.toolkit.trace.Tag;
import org.apache.skywalking.apm.toolkit.trace.Tags;
import org.apache.skywalking.apm.toolkit.trace.Trace;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;

/**
 * @author ：
 * @version 1.0
 * @date ：
 */
@Service
public class DivineDataServiceImpl
        implements com.wicket.okrcalc.biz.service.DivineDataService {

    @Resource
    private RedisUtil redisUtil;
    //@Resource
    //private MOmsTargetAttributionCycleService mOmsTargetAttributionCycleService;
    @Resource
    private NbDivineData nbDivineData;

    /**
     * D4执行计算公共接收字段(公共)[9726]
     * gen by moon at 3/7/2025, 6:02:12 PM
     */
    @Trace(operationName = "D4执行计算公共接收字段(公共)")
    @Tags({@Tag(key = "参数", value = "arg[0]"),
            @Tag(key = "返回值", value = "returnedObj")})
    @Transactional(rollbackFor = Exception.class)
    @Override
    public ImplementCalcReceiveFieldComRespDto implementCalcReceiveFieldCom(ImplementCalcReceiveFieldComReqDto reqDto) {


        //步骤0: M4执行计算公共接收字段（特殊方法） - implementCalcReceiveField
        //ModelCode: receptionService
        ImplementCalcReceiveFieldRespDto receptionServiceRes = null;
        ImplementCalcReceiveFieldReqDto receptionServiceReq = new ImplementCalcReceiveFieldReqDto();
        if (reqDto != null) {
            receptionServiceReq.setEventBatchUpdateCode(reqDto.getEventBatchUpdateCode());//SimpleFieldAssign//sourceId:1847378_1
            receptionServiceReq.setCalcStartTime(reqDto.getCalcStartTime());//SimpleFieldAssign//sourceId:1847500_1
            receptionServiceReq.setTargetAttributionCycleId(reqDto.getTargetAttributionCycleId());//SimpleFieldAssign//sourceId:1846477_1
            receptionServiceReq.setPreUpdateCycleId(reqDto.getPreUpdateCycleId());//SimpleFieldAssign//sourceId:1847501_1
            receptionServiceReq.setUpdateCycleId(reqDto.getUpdateCycleId());//SimpleFieldAssign//sourceId:1847502_1
            receptionServiceReq.setUpdateCycleStartTime(reqDto.getUpdateCycleStartTime());//SimpleFieldAssign//sourceId:1847503_1
            receptionServiceReq.setUpdateCycleEndTime(reqDto.getUpdateCycleEndTime());//SimpleFieldAssign//sourceId:1847504_1
            receptionServiceReq.setUpdateCycleTypeCode(reqDto.getUpdateCycleTypeCode());//SimpleFieldAssign//sourceId:1847505_1
            receptionServiceReq.setCycleStartTime(reqDto.getCycleStartTime());//SimpleFieldAssign//sourceId:1847437_1
            receptionServiceReq.setCycleEndTime(reqDto.getCycleEndTime());//SimpleFieldAssign//sourceId:1847438_1
            receptionServiceReq.setCycleTypeCode(reqDto.getCycleTypeCode());//SimpleFieldAssign//sourceId:1847552_1
            receptionServiceReq.setEvaObjEntityId(reqDto.getEvaObjEntityId());//SimpleFieldAssign//sourceId:1846521_1
            receptionServiceReq.setEvaObjTypeCode(reqDto.getEvaObjTypeCode());//SimpleFieldAssign//sourceId:1846522_1
            receptionServiceReq.setEvaObjTargetCycleCode(reqDto.getEvaObjTargetCycleCode());//SimpleFieldAssign//sourceId:1846523_1
            receptionServiceReq.setParentEvaObjTargetCycleId(reqDto.getParentEvaObjTargetCycleId());//SimpleFieldAssign//sourceId:2024142_1
            receptionServiceReq.setCycleStageDataId(reqDto.getCycleStageDataId());//SimpleFieldAssign//sourceId:1847389_1
            receptionServiceReq.setLastCycleCalcModelId(reqDto.getLastCycleCalcModelId());//SimpleFieldAssign//sourceId:1847461_1
            receptionServiceReq.setProcessCycleCalcModelId(reqDto.getProcessCycleCalcModelId());//SimpleFieldAssign//sourceId:1847462_1
            receptionServiceReq.setSubCycleCalcModelId(reqDto.getSubCycleCalcModelId());//SimpleFieldAssign//sourceId:1847463_1
            receptionServiceReq.setMidCycleCalcModelId(reqDto.getMidCycleCalcModelId());//SimpleFieldAssign//sourceId:1847464_1
            receptionServiceReq.setParentCycleCalcModelId(reqDto.getParentCycleCalcModelId());//SimpleFieldAssign//sourceId:1847465_1
            receptionServiceReq.setParentSubMidCycleType(reqDto.getParentSubMidCycleType());//SimpleFieldAssign//sourceId:1847412_1
            receptionServiceReq.setEvaluationTemplateId(reqDto.getEvaluationTemplateId());//SimpleFieldAssign//sourceId:1846503_1
            receptionServiceReq.setSpaceId(reqDto.getSpaceId());//SimpleFieldAssign//sourceId:1847506_1
            receptionServiceReq.setTargetScoreUnit(reqDto.getTargetScoreUnit());//SimpleFieldAssign//sourceId:1847507_1
            receptionServiceReq.setCurAndAncestorList(reqDto.getCurAndAncestorList());//list-field-assign//sourceId:1847359_1
            receptionServiceReq.setFundUnit(reqDto.getFundUnit());//SimpleFieldAssign//sourceId:1849750_1
            receptionServiceReq.setOperationInductionId(reqDto.getOperationInductionId());//SimpleFieldAssign//sourceId:1849751_1
            receptionServiceReq.setIsLastCycle(reqDto.getIsLastCycle());//SimpleFieldAssign//sourceId:1849760_1
            receptionServiceReq.setPhysicalAccountId(reqDto.getPhysicalAccountId());//SimpleFieldAssign//sourceId:1849761_1
            receptionServiceReq.setEvaObjTargetCycleId(reqDto.getEvaObjTargetCycleId());//SimpleFieldAssign//sourceId:2003214_1
            receptionServiceReq.setCycleMode(reqDto.getCycleMode());//SimpleFieldAssign//sourceId:2041927_1
            receptionServiceReq.setBelongToContentId(reqDto.getBelongToContentId());//SimpleFieldAssign//sourceId:2025606_1
            receptionServiceReq.setIsOpenMq(reqDto.getIsOpenMq());//SimpleFieldAssign//sourceId:2041273_1
            receptionServiceReq.setAccountContentCode(reqDto.getAccountContentCode());//SimpleFieldAssign//sourceId:2041928_1
            receptionServiceReq.setIsOpenFundsArrival(reqDto.getIsOpenFundsArrival());//SimpleFieldAssign//sourceId:2041929_1
        }

        /*M4执行计算公共接收字段（特殊方法）[9725]  用于特殊方法接收上游入参。 */

        receptionServiceRes = nbDivineData.implementCalcReceiveField(receptionServiceReq);


        ImplementCalcReceiveFieldComRespDto retData = new ImplementCalcReceiveFieldComRespDto();


        return retData;
    }
    //
}
